package common.algorithm_and_data_structure.sort;

import java.util.Arrays;

/**
 * 选择排序
 */
public class SelectionSort {
    public static void sort(int[] arr) {
        for(int i=0;i<arr.length;i++) {
            //选择arr[i..N)中最小值的索引
            int minIndex =i;
            for(int j=i;j<arr.length;j++) {
                if(arr[j]<arr[minIndex]) {
                    minIndex = j;
                }
            }
            swap(arr,i,minIndex);
        }
    }

    private static void swap(int[] arr, int i, int minIndex) {
        int t = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = t;
    }

    public static void main(String[] args) {
        int[] arr = {11,2,3,41,5,68,7,88,90};
        sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}
